//
//  StatusPictuerView.swift
//  SHWeibo2.0
//
//  Created by 黄礼潮 on 16/3/1.
//  Copyright © 2016年 黄礼潮. All rights reserved.
//

import UIKit


class StatusPictuerView: UIView {
    
    var pic_urls:[StatusPicture]? {
    
        didSet{
            
            // 1. 隐藏所有的图像视图
            for v in subviews {
                v.hidden = true
            }

            
            //2.遍历数组，依次设置图像
            var index = 0
            
            for url in (pic_urls ?? []) {
            
                //根据遍历的索引，设置图像的视图
                let iv = subviews[index++] as! UIImageView
                //设置图像  Value of type '[StatusPicture]' has no member 'thumbnail_pic
                iv.cz_setImage(url.thumbnail_pic, CZPlaceholderImage:nil)
                
                iv.hidden = false
                //处理第四张图像
                if index == 2 && pic_urls?.count == 4{
                    
                    index++
                }
            }
      
        }
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        setupPictuerUI()
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}


extension StatusPictuerView{
    
    private func setupPictuerUI(){
        
    //    backgroundColor =  superview?.backgroundColor
       backgroundColor = UIColor.whiteColor()
        // 超出视图范围的内容，全部裁切掉
        // 在用 storyboard 开发的时候，默认是 true，但是，使用 代码开发，默认是 false
        clipsToBounds = true
        
    //添加图像视图
        
        let layout = StatusCellViewLayout()
        let rect = CGRect(origin: CGPointZero, size:layout.pictureViewSize)
        let step = layout.pictureViewSize.width + layout.pictureMargin
        
        for i in 0..<9 {
        
            let iv = UIImageView()
                  //    iv.backgroundColor = UIColor.redColor()
            //设置填充模式，使图像产生那种犬牙交错的效果
            iv.contentMode = .ScaleAspectFill  //设置这一个属性的话，图片太大的话，会覆盖图片，设置一个属性来裁剪它
            iv.clipsToBounds = true

            let row = CGFloat(i / Int(layout.pictureImagesRow))
            let col = CGFloat(i % Int(layout.pictureImagesRow))
            
            iv.frame = CGRectOffset(rect, col * step , row * step)
         addSubview(iv)
       }
        
        
    }
}